package com;

/**
 * 叠词匹配,去重复
 * 
 * @author lenovo
 * @date 2020年7月24日
 */
public class Test_01 {

	public static void main(String[] args) {
		// 我要学编程
		String string = "我我我、、、我我、、我、我要要、、、要要要、、要要、、学学学、、、、学学、、、学编编编、、编编编程、、程程";
		string = string.replaceAll("、", "");
		System.out.println(string);
		// (.)任意字字符成组,\\1 捕获1次;叠词,$1得到1组, 取前面的组1次或多次

		// $1 就等于 group(1)

		// \\1 就能获取前面组中的数据,和组内数据是一样的

		// '(\d)\1’:匹配连个连续的数字字符，如33，44，11
		// '(\d)(a)\1:匹配第一个是数字，第二个是a，第三个是和第一个相同的数字，如2a2
		// '(\d)(a)\2:匹配第一个是数字，第二个是a，第三个是和第二个相同的，如：8aa，4aa

		// 所有重复的 只要1个,去重
		string = string.replaceAll("(.)\\1+", "$1");

		// 有重复的,就删除一个
		// string = string.replaceAll("(.)(\\1+)", "$2");
		System.out.println(string);
	}
}
